package com.sxbbc.common.core.mapper.jz;

import java.math.BigDecimal;
import java.util.Date;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sxbbc.common.core.dto.jz.RefundVo;
import com.sxbbc.common.core.entity.jz.OrderRefundLog;
import com.sxbbc.common.core.utils.BasePage;

/**
 * <p>
 * 订单退款记录表 Mapper 接口
 * </p>
 *
 * @author xiaoky
 * @since 2019-05-11
 */
public interface OrderRefundLogMapper extends BaseMapper<OrderRefundLog> {
	/**
	 * 通过类型和时间查询退款金额
	 * @param time 时间
	 * @param type 类型 day,week,month
	 * @param date 用于查询周数据
	 * @return BigDecimal 退款金额
	 */
	BigDecimal queryRefundMoneyByTypeAndTime(@Param("time")String time, @Param("type")String type, @Param("date")Date date);

	/**
	 * 查询退款数据
	 * @param cid 用户id
	 * @return IPage<RefundVo>
	 */
	IPage<RefundVo> queryRefundList(BasePage<RefundVo> page, @Param("refund") RefundVo refundVo);
	
	/**
	 * 退款详情数据
	 * @param refundCode 退款编号
	 * @return com.sxbbc.common.core.dto.jz.RefundVo
	 */
	RefundVo getRefundDetail(@Param("refundCode") String refundCode);
	
	/**
	 * 通过类型和时间查询退款数量
	 * @param time 时间
	 * @param type 类型 day,week,month
	 * @param date 用于查询周数据
	 * @return int 退款数量
	 */
	int queryRefundNumByTypeAndTime(@Param("time")String time, @Param("type")String type, @Param("date")Date date);
}
